package com.parking.order.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 吴彦祖
 * @since 2023年11月28日
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("order_overtime")
public class OrderOvertime implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 超时Id
     */
    @TableId(value = "overtime_id", type = IdType.AUTO)
    private Integer overtimeId;

    /**
     * 订单Id
     */
    @TableField("order_info_id")
    private Integer orderInfoId;

    /**
     * 订单编号
     */
    @TableField("order_info_num")
    private String orderInfoNum;

    /**
     * 车位信息Id
     */
    @TableField("stall_info_id")
    private Integer stallInfoId;

    /**
     * 开始时间
     */
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @TableField("end_time")
    private LocalDateTime endTime;

    /**
     * 持续小时
     */
    @TableField("endu_hour")
    private Integer enduHour;

    /**
     * 支付价格
     */
    @TableField("pay_price")
    private BigDecimal payPrice;

    /**
     * 0未支付 1已支付
     */
    @TableField("pay_state")
    private Integer payState;

    /**
     * 用户信息Id
     */
    @TableField("user_info_id")
    private Integer userInfoId;

    /**
     * 支付时间
     * */
    @TableField("pay_time")
    private LocalDateTime payTime;
    /**
     * 修改时间
     * */
    @TableField("update_time")
    private LocalDateTime updateTime;
    /**
     * 物业信息Id
     * */
    @TableField("certified_info_id")
    private Integer certifiedInfoId;

    /**
     * 无参构造函数
     * */
    public OrderOvertime() {
    }

    /**
     * 构造函数
     * orderInfoId 订单Id
     * orderInfoNum 订单编号
     * stallInfoId 车位信息Id
     * startTime 开始时间
     * endTime 结束时间
     * payState 支付状态
     * userInfoId 用户信息Id
     */
    public OrderOvertime(Integer orderInfoId, String orderInfoNum, Integer stallInfoId, LocalDateTime startTime, LocalDateTime endTime, Integer payState, Integer userInfoId) {
        this.orderInfoId = orderInfoId;
        this.orderInfoNum = orderInfoNum;
        this.stallInfoId = stallInfoId;
        this.startTime = startTime;
        this.endTime = endTime;
        this.payState = payState;
        this.userInfoId = userInfoId;
    }
}
